package flex.cc.basicinformation.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import flex.cc.base.dto.LoginAuthDto;
import flex.cc.basicinformation.entity.ServiceProviderDataEntity;
import flex.cc.basicinformation.entity.ServiceProviderEntity;
import flex.cc.basicinformation.vo.ServiceProviderVo;

/**
 *服务商
 * @author guozejun
 * @email guozejun@sinosoft.com.cn
 * @date 2021-10-14 22:53:59
 */
public interface ServiceProviderService extends IService<ServiceProviderEntity> {

	ServiceProviderEntity getOneByParams(Map<String, Object> params);

	IPage<ServiceProviderEntity> queryServiceProviderPage(ServiceProviderEntity service);
	void saveServiceProvider(ServiceProviderEntity flex, LoginAuthDto loginAuthDto);
	String getServiceName(String serviceName, String id);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月18日下午7:24:02
	 * @desc 根据省市区、服务类型匹配服务商信息
	 */
	List<ServiceProviderEntity> choiceServicer(Map<String, Object> paramsMap);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月19日下午1:36:08
	 * @desc 根据map参数查询实体信息
	 */
	ServiceProviderEntity findProviderByParam(Map<String, String> servicerParam);
	/**
	 *
	 * @author WANGCONG
	 * 2021年10月20日下午1:06:17
	 * @desc 手动派单、改派，根据所选服务单的服务类型、省市区集合匹配服务商
	 */
	List<ServiceProviderEntity> findMatchServicer(Map<String, Object> params);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月20日下午4:05:02
	 * @desc 根据服务商Id查询接口地址信息
	 */
	List<ServiceProviderDataEntity> queryListByYwId(String servicerId);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月20日下午6:36:18
	 * @desc 根据主键查询服务商
	 */
	ServiceProviderEntity queryById(Integer id);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月21日上午10:39:51
	 * @desc 不带分页查询列表
	 */
	List<ServiceProviderEntity> findList();
	String getServiceCode(String serviceCode, String id);

	List<ServiceProviderEntity> getAllServiceName();

	/**
	 * @description 修改救援商状态【2.2-服务包配置需求】
	 * @param id 救援商主键
	 * @return
	 * @author wkangle
	 * @time 2022-02-25 09:48:51
	 * @exception/throws
	 */
	Map<String, String> switchStatus(Long id, String status);


	/**
	 * @description 根据救援商主键id查询一个，用于修改回显【2.2-服务包配置需求】
	 * @param id 救援商主键id
	 * @return
	 * @author wkangle
	 * @time 2022-03-03 14:13:03
	 * @exception/throws
	 */
	ServiceProviderVo queryOne(Long id);
}


